cmake_minimum_required(VERSION 3.22)
project(basic_cpp)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_compile_options(-std=c++11)

add_subdirectory(leetcode/top-interview-questions-easy)
add_subdirectory(leetcode/top-interview-questions)

add_executable(main main.cpp)
add_executable(cpp-data-types runoob/cpp-data-types.cpp)
add_executable(cpp-variable-types runoob/cpp-variable-types.cpp)
add_executable(cpp-variable-scope runoob/cpp-variable-scope.cpp)
add_executable(cpp-constants-literals runoob/cpp-constants-literals.cpp)
add_executable(cpp-modifier-types runoob/cpp-modifier-types.cpp)
add_executable(cpp-storage-classes runoob/cpp-storage-classes.cpp)
add_executable(cpp-operators runoob/cpp-operators.cpp)
add_executable(cpp-loops runoob/cpp-loops.cpp)
add_executable(cpp-decision runoob/cpp-decision.cpp)
add_executable(cpp-functions runoob/cpp-functions.cpp)
add_executable(cpp-numbers runoob/cpp-numbers.cpp)
add_executable(cpp-arrays runoob/cpp-arrays.cpp)
add_executable(cpp-strings runoob/cpp-strings.cpp)
add_executable(cpp-pointers runoob/cpp-pointers.cpp)
add_executable(cpp-references runoob/cpp-references.cpp)
add_executable(cpp-date-time runoob/cpp-date-time.cpp)
add_executable(cpp-basic-input-output runoob/cpp-basic-input-output.cpp)
add_executable(cpp-data-structures runoob/cpp-data-structures.cpp)
add_executable(cpp-classes-objects runoob/cpp-classes-objects.cpp)
add_executable(cpp-constructor-destructor runoob/cpp-constructor-destructor.cpp)
add_executable(cpp-copy-constructor runoob/cpp-copy-constructor.cpp)
add_executable(cpp-friend-functions runoob/cpp-friend-functions.cpp)
add_executable(cpp-inline-functions runoob/cpp-inline-functions.cpp)
add_executable(cpp-this-pointer runoob/cpp-this-pointer.cpp)
add_executable(cpp-pointer-to-class runoob/cpp-pointer-to-class.cpp)
add_executable(cpp-static-members runoob/cpp-static-members.cpp)
add_executable(cpp-inheritance runoob/cpp-inheritance.cpp)
add_executable(cpp-overloading runoob/cpp-overloading.cpp)
add_executable(cpp-polymorphism runoob/cpp-polymorphism.cpp)
add_executable(cpp-data-abstraction runoob/cpp-data-abstraction.cpp)
add_executable(cpp-data-encapsulation runoob/cpp-data-encapsulation.cpp)
add_executable(cpp-interfaces runoob/cpp-interfaces.cpp)
add_executable(cpp-files-streams runoob/cpp-files-streams.cpp)
add_executable(cpp-exceptions-handling runoob/cpp-exceptions-handling.cpp)
add_executable(cpp-dynamic-memory runoob/cpp-dynamic-memory.cpp)
add_executable(cpp-namespaces runoob/cpp-namespaces.cpp)
add_executable(cpp-templates runoob/cpp-templates.cpp)
add_executable(cpp-preprocessor runoob/cpp-preprocessor.cpp)
add_executable(cpp-signal-handling runoob/cpp-signal-handling.cpp)
add_executable(cpp-multithreading runoob/cpp-multithreading.cpp)
add_executable(cpp-web-programming runoob/cpp-web-programming.cpp)
add_executable(cpp-examples-cout-helloworld runoob/example/cpp-examples-cout-helloworld.cpp)
add_executable(cpp-examples-cout-cin runoob/example/cpp-examples-cout-cin.cpp)
add_executable(cpp-examples-endl runoob/example/cpp-examples-endl.cpp)
add_executable(cpp-examples-add-numbers runoob/example/cpp-examples-add-numbers.cpp)
add_executable(cpp-examples-data-types runoob/example/cpp-examples-data-types.cpp)
add_executable(cpp-examples-quotient-remainder runoob/example/cpp-examples-quotient-remainder.cpp)
add_executable(cpp-examples-sizeof-operator runoob/example/cpp-examples-sizeof-operator.cpp)
add_executable(cpp-examples-swapping runoob/example/cpp-examples-swapping.cpp)
add_executable(cpp-examples-even-odd runoob/example/cpp-examples-even-odd.cpp)
add_executable(cpp-examples-vowel-consonant runoob/example/cpp-examples-vowel-consonant.cpp)
add_executable(cpp-examples-largest-number-among-three runoob/example/cpp-examples-largest-number-among-three.cpp)
add_executable(cpp-examples-quadratic-roots runoob/example/cpp-examples-quadratic-roots.cpp)
add_executable(cpp-examples-sum-natural-number runoob/example/cpp-examples-sum-natural-number.cpp)
add_executable(cpp-examples-leap-year runoob/example/cpp-examples-leap-year.cpp)
add_executable(cpp-examples-factorial runoob/example/cpp-examples-factorial.cpp)
add_executable(cpp-examples-pyramid-pattern runoob/example/cpp-examples-pyramid-pattern.cpp)
add_executable(cpp-examples-hcf-gcd runoob/example/cpp-examples-hcf-gcd.cpp)

add_executable(get-address bitcoin/gen-address.cpp)
